要學習 React 就要有開一間餐廳的決心,你說這有什麼關係?
這過程其實大同小異,兩者都需要學習且消耗時間成本,才有機會成功!
現在「你」就是餐廳的老闆,即將營業一間「React 熱炒店」,
請了特級廚師小當家當御用主廚,而解師傅也是股東之一,
我們抱著堅持下去的決心一起前進吧!
解師傅:老闆~請多多指教囉!
小當家:我們一起把 React 熱炒店 做大吧~~~
React 的出現,讓開發者享受到組件重用的便利,優化使用者介面。
早期都是用 Class Component,但在 React 16.8 之後出了 「Hook」,可以單純使用函式組件,讓你不需要用複雜的 class,就能使用更多 React 的功能,因此整篇,我們都會使用 Hook 的方式來開發
不過 React 是誰發明的?又是怎麼出現的呢?
在操作 React 之前,先來簡單了解一下 React 的背景吧!
Facebook 快速成長,相信你我對 Facebook 一定都不陌生,隨著團隊的擴張讓代碼的維護變得越來越困難,FB 認為現行技術已無法滿足擴展需求,如果繼續用舊有的代碼維護頁面,系統的複雜就成級數的增長,使代碼變得脆弱且不可預測
為了解決這個問題,一位 Facebook 工程師 Jordan Walke ,便開發出 FaxJs,也就是 React 的原型,於是 React 先被應用在 Facebook 的 News Feed (動態消息)
Facebook 將 React 分離出來,讓 React 可以在不同專案運行,Facebook 收購 Instagram,將 React 部署在 Instagram
Facebook 的 CEO Mark Zuckerberg 表示:我們最大的錯誤就是壓太多寶在 HTML5 上了
.
在 JSCONF US 峰會,Jordan Walke 發表 React 的 Open Source,起初的聽眾對 React 抱持懷疑的態度,多數人覺得 React 是一種退步,這讓 Facebook 團隊決定加強宣傳在勇於創新的族群上
經過團隊的推廣,React 逐漸獲得聲譽,開始有大量公司將 React 用在專案上,包含了 Netflix
React Native、Redux 問世
React Native 讓網頁開發人員能用 React 的方式以 JavaScript 撰寫 App
Redux 可以讓不同的組件,使用到共用的資料和方法,統一集中管理共用的狀態
React 成為主流框架之一,版本進入到正式版號 React 15 穩定版
React 16 發佈
在 React Conf 2018,Sophie Alpert 和 Dan Abramov 介紹了 Hook,接著 Ryan Florence 展示了如何用它們來重構應用程式
React 16.8 公眾發布。React Hooks 可以在穩定版中使用,不必寫 class 就能使用 state,更好管理有狀態的邏輯,也降低了學習成本
React 17 引入漸進式升級,此版本沒有添加任何給開發人員的新功能,開發者未來將可以對應用程式進行部分升級,而不用一次升級整個應用程式
React18 正式版發布
回溯的部分就差不多寫到這裡,雖然你完全可以不用知道這些過去,還是可以學好 React ,但回過頭來看了這些過去會發現,這其實是個很勵志的故事,也還滿有趣的!今天就到這裡囉~我們明天繼續吧!
本文將同步更新至我的部落格
Lala 的前端大補帖